Objectifs

  • Intérêt de l’IDM pour les modèles scientifiques et mathématiques

  • Apport du génie logiciel et de la méta-modélisation

  • Illustration par SysML (plus cet aprem ⇒ T. Millan)

Note

Pour ceux qui n’y voient rien à l'écran : http://jmbhome.heroku.com/talks

slides.png

html.png

pdf.jpeg

Version des slides : 1.3

Qui suis-je ?

  • Professeur à l’Univesité de Toulouse

  • Co-fondateur de l’association SysML-France

  • Membre du comité éditorial de la revue SoSyM

  • Membre du Steering Committee de la conférence ACM/IEEE MODELS

  • Co-responsable de l’axe Systèmes Ambiants de l’IRIT

/Users/bruel/dev/images/logo-irit.png

Organisation

  • C’est quoi un modèle ?

  • SysML

  • SysML et Simulation

  • Et ensuite ?

C’est quoi un modèle

modele.png

C’est quoi un modèle (pour nous)

  • Un ensemble de diagrammes / vues / considérations / …

/Users/bruel/dev/images/intro-sysml.png

  • Ou plus exactement : un ensemble d’artefacts

arbre.png

  • Modèles "scientifiques" vs modèles "logiciels"

  • Assemblages d’outils vs IDM

Modèles "scientifiques"

Approche "Bottom-Up"

scientific-method.jpg

MATLAB

Modèles "Génie Logiciel"

Approche "Top-Down"

airbus_300.gif

MATLAB

Assemblages vs IDM

Architecture classique entre applications du domaine scientifique :

  • pipe

  • scripting "à la unix"

Exemple tiré de VLE

script.png

Architecture classique en IDM :

  • openData

  • metamodèles

  • transformation

Exemple en IDM

atl.jpg

Notations pour l’Ingénierie Système

Exemples tirés de [SEE-Book] :

AADL

SysML

Marte

aadl.png

sysml.png

marte.png

SysML (minimalist)

SysML (maximalist)

/Users/bruel/dev/images/intro-sysml.png

C’est quoi SysML?

  • Date de naissance non officielle : 2001!

  • Première spécification adoptée à l’OMG™ : 19 septembre 2007

  • Version actuelle : 1.3 (12/06/2012)

  • Paternité : OMG™ / UML™ + INCOSE

  • Auteurs principaux :

    • Conrad Bock

    • Cris Kobryn

    • Sanford Friedenthal

  • Logo officiel : /Users/bruel/Dropbox/Public/dev/SysMLBook/images/icons/sysml.jpeg

SysML, c’est…

  • Un ensemble de 9 types de diagrammes :

    • Diagrammes structuraux

      • Diagrammes de définition de blocks (bdd)

      • Diagrammes internes de blocks (ibd)

      • Diagrammes paramétriques (par)

      • Diagrammes de packages (pkg)

    • Diagrammes comportementaux

      • Diagrammes de séquence (seq)

      • Diagrammes d’activité (act)

      • Diagrammes de cas d’utilisation (uc)

      • Diagrammes d'états (st)

    • Diagramme d’exigence (req)

  • Un profil UML™, c’est à dire une extension de cette notation

  • Une notation de plus en plus enseignée et connue et qui servira donc de plus en plus de référence à la modélisation des systèmes

SysML, ce n’est pas…

  • Une méthode ou une démarche de développement de système

  • Un outil

  • Un remplaçant aux outils et langages existants

Pourquoi une nouvelle notation ?

Il existe une notation qui se veut "unifiée" pour les modèles : UML™.

  • UML 1.x était complètement inadaptée :

    • Principalement pour les systèmes d’information

    • Peu de liens entre les diagrammes

    • Peu de liens entre les modèles et les exigences

  • UML 2.x n’est pas beaucoup mieux si ce n’est :

    • Implication des ingénieurs systèmes pour sa définition

    • Introduction du diagramme de structure composite

En conclusion UML™ est une bonne base :

  • Standard De facto en génie logiciel

  • Fournit beaucoup de concepts utiles pour décrire des systèmes (même complexes)

  • Stable et extensible (grâce notamment au mécanisme de profile)

  • Beaucoup d’outils disponibles

Mais…

  • Vocabulaire beaucoup trop « software » pour être utilisé par les ingénieurs systèmes (concept de classe ou d'héritage par exemple)

  • Trop de diagrammes (13 sortes)

Différence avec UML

/Users/bruel/dev/images/diff.png

Qui est "derrière"?

Industrie

American Systems, BAE Systems, Boeing, Deere & Company, EADS Astrium, Eurostep, Israel Aircraft Industries, Lockheed Martin, Motorola, NIST, Northrop Grumman, oose.de, Raytheon, Thales, …

Vendeurs d’outils

Artisan, EmbeddedPlus, Gentleware, IBM, Mentor Graphics, PivotPoint Technology, Sparx Systems, Vitech, …

Autres organisations

AP-233, INCOSE, Georgia Institute of Technology, AFIS, …

Différents diagrammes

Les 9 diagrammes SysML

/Users/bruel/dev/images/Figure4.1.png

Outils SysML

Voici une liste non exhaustive :

Etat actuel

  • Adoption de plus en plus large

    • Nombreuses industries

    • Militaires

  • Enseigné massivement

    • dans le cycle ingénieur (N7, ISAE, Masters)

    • au bac STI2D depuis 2011

    • en prépa dès cette rentrée 2013

Enjeux et retours industriels

  • Architecture d’entreprise

    • Grands groupes (DODAF/MODAF)

    • Armée (Systems of Systems)

  • Ingénieurs métiers (Maths, Physique, etc.)

    • Couplages MATLAB, Harmony Process

    • SysML+Modelica

    • SysML+Simulink

  • RT&E

    • SysML+SystemC

    • SysML+VHDL

    • SysML / MARTE

Domaines principaux

  • DSL

    • AUTOSAR, EAST-ADL (Automobile)

    • Aéronautique

    • Transports & Automotive

    • Médical (certification aussi!)

    • Systems on Chips

  • Animation/Simulation de modèles

    • ALF

    • IFx-Omega

    • AVATAR

SysML et Simulation

Exemple : SysML4Modelica

  • Standard OMG

/Users/bruel/dev/images/modelica-exp.png

SysML4Modelica chez Thales

Tiré de la dernière journée SysML Laurent Rioux

/Users/bruel/dev/images/modelica.png

SysML4Modelica chez Thales

Tiré de la dernière journée SysML Laurent Rioux

/Users/bruel/dev/images/modelica2.png

Illustration Topcased

Illustration TTool

Exemple de retour Airbus

le principal gain cité par Airbus sur l’utilisation des modèles en ingénierie des systèmes, c’est la détection des pb dans les exigences (incohérences notamment).

Head of R&D methods and tools - critical and Embedded systems at AtoS
— Raphaël Faudou
  • En IS, ce gain arrive en tête avant la génération documentaire ou la simulation

  • En IS, ce gain arrive loin avant la génération de code (Soft)

Et ensuite?

/Users/bruel/dev/images/ensuite.jpeg

Du document-centric au model-centric

  • Progrès de l’IDM

    • Outils pour créer des DSL (succès de Xtext par exemple)

    • Outils de transformation de modèles

  • Déjà utilisé dans certains organismes de certification

    • Alstom dans le ferroviaire par exemple

Projets et initiatives

  • POLARSYS

  • VeriFME

  • COSINUS

  • SAFE

  • OverSoC

  • HELP

  • SecReSoC

  • ID4CS

  • HECOSIM

  • MOPCOM

  • SoCLib

  • IMOFIS (Obeo Alstom)

Quelques retours industriels

Airbus

Génération de documentations destinés à la certification (Y. Bernard)

Alstom Transport

SysML en mécanique (A. Gomas), Safety Analysis (E. Soubiran)

Astrium

SysML et le spatial (D. Lesens)

Cassidian

Terminaux de Radio-communication (F. Risy)

CNES

"Personnalisation" de SysML (E. Poupard)

Retours industriels (suite)

Continental Mexique

Modélisation équipements automobiles (J.-M. Bruel)

EADS

Introduction globale et progressive (C. Marchal)

Nexter Electronics

Génération de modèles SysML à partir de documents (E. Panier)

Rockwell Collins

Safety Assesment (L. Audounet)

CEA

Challenges de l’IDM pour la simulation (Arnaud Cuccuru cet aprem)

Tendances

  • Intégration des outils de simulations

    • Génération de jeux de test

    • Annotations (parametric diagrams)

    • Animation de modèles

  • Utilisation de SysML comme lingua franca de l’IS

    • Langage pivot

    • Langage de glue

  • Animations et dissémination

    • SysML-France

    • Comité Technique MBSE de l’AFIS

    • Bureau Veritas

Défis

Culturel

Difficulté d’adaptation aux ingénieurs métiers

SysML

masqué (pivot) ou montré (glue) ?

Outils

Libres mais industriels (Polarsys)

Formation

Ingénieurs logiciels / Ingénieurs système

GEMOC

  • Globalization of Modeling Languages

  • Plus cet aprem (B. Combemale)

  • http://gemoc.org/

Exemple de DSL : HPC au CEA

Problématique des simulations dans le contexte du nucléaire :

cea-pb.png

DSL : Domain Specific Language

HPC : High Performance Calculus

CEA : Commissariat à l'Energie Atomique et aux Energies Alternatives

HPC au CEA (solution)

cea-sol.png

Diagrammes paramétriques SysML

Exemple avec Enterprise Architect : injection de VBScript/JavaScript :

Modèles exécutables

  • Pourquoi générer du code exécutable ? ⇒ exécutons plutôt les modèles!

  • Exemples concrets :

    • Initiatives autour d’UML (fUML)

    • Librairie dédiées (e.g., PauWare)

    • Models@runtime (e.g., INRIA/Triskell)

Modélisation collaborative

  • Vue "centralisée"

    • ReMoDD: Repository for Model Driven Development

    • SEMCO: System and software Engineering for embedded systems applications with Multi-COncerns

    • Tools: Papyrus (SVN), Modelio (Teamwork), eclipse (CDO)

  • Vue "répartie"

Last minute… (1)

offreStage2013.png

Last minute… (2)

  • Sur l’agilité et les modèles : initiative MAC (Modeling in an Agile Context)

Que retenir?

  • Modèles = First Class Citizens

  • Elever le niveau d’abstraction (modèles) pour appréhender :

    • la complexité

    • la communication

    • la qualité globale (traçabilité, …)

Ce que j’ai retenu de ce matin…

  • Des avancées :

    • Interdisciplinarité

    • Collaboratif (GPL, GitHub, …)

    • Agilité

  • Des besoins :

    • Liens entre les modèles (du MindMap au code?)

    • Cohérences entre modèles

  • Des difficultés potentielles :

    • Vocabulaire différent

Références et liens utiles

  • [SEE-Book] Modélisation et analyse de systèmes embarqués (Coll. SEE), F. Kordon, J. Hugues, A. Canals, A. Dohet, 2013. ISBN : 9782746239005. Disponible ici.

  • [IDM2012] Ingénierie Dirigée par les Modèles, J.-M. Jézéquel, B. Combemale et D. Vojtisek. Ellipses, 2012.

  • [PRFC] Modélisation de systèmes complexes avec SysML, P. Roques, Collection Blanche, mai 2013. Disponible ici.

SysML-France

  • Association loi 1901

  • Prochaine journée SysML :

    • 4 février 2014 (juste avant ERTS)

    • Thématique : la simulation!

About…

Document généré par Jean-Michel Bruel via AsciiDoc (version 8.6.8) de Stuart Rackham. Pour l’instant ce document est libre d’utilisation et géré par la Licence Creative Commons. Licence Creative Commons licence Creative Commons Paternité - Partage à l'Identique 3.0 non transposé.